const express = require('express')
const app = express()

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

// 定义局部生效的中间件【排序】
const mw1 = (req, res, next)=>{
    MongoClient.connect(url, function(err, db) {
        if(err) throw err;
        var dbase = db.db("runoob");
        // let myobj = { name: "小三", age: "30"}
        // dbase.collection("pink").insertOne(myobj,(err, res)=>{
        //     if(err) throw err;
        //     db.close()
        // })
        dbase.collection('site').aggregate([
            {$lookup:    // 作用：查询出左表所有的数据，和右表中 和左表字段里字段值相同的数据
                {
                    from: 'pink',    // 第二个表名  右集合
                    localField: 'name',   // 左集合  join 字段
                    foreignField: 'name',  // 右集合  join 字段
                    as: 'abc'    // 新生成一表格，表名自定义（类型 array）
                }
            }
        ]).toArray((err, res)=>{
            if(err) throw err;
            console.log(JSON.stringify(res));
            db.close();
        })
    });
}

// 创建路由
app.get('/',mw1,(req, res) => {
    res.send('我是路由，用来控制排序的')
})

//配置端口
app.listen(80, ()=>{
    console.log("端口号为：http://127.0.0.1");
})
